package file;

//在需要的目录里查找文件名存在关键字的文件，询问是否删除

import java.io.File;
import java.util.Scanner;

public class Demo8 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入想要查找的文件目录：");
        String rootDir = sc.next();
        File rootfile = new File(rootDir);
        if(!rootfile.isDirectory()){
            System.out.println("输入的不是目录！");
            return;
        }
        System.out.println("请输入想要查找的关键字：");
        String keyword = sc.next();

        scanDir(rootfile,keyword);
    }

    //递归遍历当前路径所有文件
    private static void scanDir(File rootfile, String keyword) {
        //得到当前目录所有文件
        File[] files = rootfile.listFiles();
        if(files == null){
            System.out.println("文件为空！");
            return;
        }

        for(File file:files){
            if(file.isFile()){
                //是文件就看有没有关键字
                dealfile(file,keyword);
            }else{
                //是目录继续递归
                scanDir(file,keyword);
            }
        }
    }

    private static void dealfile(File file, String keyword) {
        if(file.getName().contains(keyword)){
            System.out.println("当前文件"+file.getAbsoluteFile()+"存在关键字"+keyword);
            Scanner sc = new Scanner(System.in);
            System.out.println("你是否要删除该文件(y/n)");
            String result = sc.next();
            if(result.equalsIgnoreCase("y")){
                file.delete();
                System.out.println("删除成功");
            }
        }
    }
}
